#ifndef __VECTOR_TEMP_H__
#define __VECTOR_TEMP_H__
#include <stdarg.h>
#include <fstream>
using namespace std;
class PhysicsVector{
	private:
	float v[3];
	public:
		PhysicsVector();
		PhysicsVector(float x, float y, float z);
		PhysicsVector(const PhysicsVector& o);
		~PhysicsVector();
		PhysicsVector& operator=(const PhysicsVector& o);
		PhysicsVector& operator+=(const PhysicsVector& o);
		PhysicsVector& operator-=(const PhysicsVector& o);
		const PhysicsVector& operator-() const;
		const PhysicsVector& operator+(const PhysicsVector& o) const;
		const PhysicsVector& operator-(const PhysicsVector& o) const;
		const PhysicsVector operator*(const float f) const;
		const PhysicsVector operator/(const float f) const;
		float& operator[](int i);
		const double operator*(const PhysicsVector& o) const;
		const PhysicsVector crossProduct(const PhysicsVector& o) const;
		bool operator==(const PhysicsVector& o) const;
		bool operator!=(const PhysicsVector& o) const;
		const double norm() const;
		const double squareNorm() const;
		void normalize();
		friend ostream& operator<<(ostream& s, PhysicsVector& p);
		friend istream& operator>>(istream& s, PhysicsVector& p);
		friend const PhysicsVector operator*(float f, PhysicsVector p);
		friend const PhysicsVector operator/(float f, PhysicsVector p);
};
const PhysicsVector operator*(float f, PhysicsVector p);
const PhysicsVector operator/(float f, PhysicsVector p);
ostream& operator<<(ostream& s, PhysicsVector& p);
istream& operator>>(istream& s, PhysicsVector& p);
#endif
